<?php
/**
 * Application model for Cake.
 *
 * This file is application-wide model file. You can put all
 * application-wide model-related methods here.
 *
 * PHP 5
 *
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       app.Model
 * @since         CakePHP(tm) v 0.2.9
 * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
 */

App::uses('Model', 'Model');

/**
 * Application model for Cake.
 *
 * Add your application-wide methods in the class below, your models
 * will inherit them.
 *
 * @package       app.Model
 */
class AppModel extends Model {
	
	public function userAccess($user,$model_name_id,$model_id,$model_name ){
		if($user['group_id'] == '1') return true;
		App::uses('Model', $model_name);
		$id = $this->{$model_name}->field("{$model_name}.id",array("{$model_name}.user_id"=>$user['id'],"{$model_name}.{$model_name_id}"=>$model_id));
		return ($id == false) ? false : true;	
	}
	
	function checkUnique($data, $fields) {
		if (!is_array($fields)) {
			$fields = array($fields);
		}
		debug( $this->data ); die;
		foreach($fields as $key) {
			$tmp[$key] = $this->data[$this->name][$key];
		}
		if (isset($this->data[$this->name][$this->primaryKey])) {
			$tmp[$this->primaryKey] = "<>".$this->data[$this->name][$this->primaryKey];
	
		}
		return $this->isUnique($tmp, false);
	}
	
	function getModelColumns($model_name = null){
		$model_name (is_null($model_name)) ? $this->name : $model_name;
		$_schema = $this->schema();
		$fields = array();
		if(is_array($_schema)){
			foreach ($_schema as $column => $value) {
				array_push($fields,"{$model_name}.{$column}");
			}
		}else{
			$fields = false;
		}
		return $fields;
	}

}
